#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char ** argv) {
	if (argc < 3) {
		printf("Niepoprawne wywołanie programu. Poprawne wywołanie: ./dodaj_plik ścieżka_do_fifo ścieżka_do_pliku_1 [ścieżka_do_pliku_2 ...]\n");
		return -1;
	}
	char * fifo_path = argv[1];
	FILE * fifo = fopen(fifo_path, "w");
	if (fifo == NULL) {
		if (mkfifo(fifo_path, 0775) == -1) {
			perror(argv[1]);
			return -2;
		}
		if ((fifo = fopen(fifo_path, "w")) == NULL) {
			perror(argv[1]);
			return -3;
		}
	}
	int i;
	for (i = 2; i < argc; i++) {
		if (fprintf(fifo, "%s\n", argv[i]) < 0) {
			perror(fifo_path);
			continue;
		}
	}
	fclose(fifo);
	return 0;
}
